1. Field of the Invention
This invention generally relates to digital communications and, more particularly, to a system and method converting signal conditioning-encoded signals into a frame structure with forward error correction.
2. Description of the Related Art
Ethernet messages, either octets of data or control information, are redundantly encoded for the purpose of maintaining DC balance, which is also referred to as running disparity (RD), and ensuring sufficient edge density. 8 B/10 B is a common RD-encoded format. 8-bit symbols are mapped into 10-bit symbols, coded to provide a sufficient number of state changes to permit clock recovery from the data stream and to ensure DC balance. 8 B/10 B coding is used applications such as PCI Express, IEEE 1394b, Fibre Channel, Gigabit Ethernet, InfiniBand, and XAUI to name but a few. Using a system that controls long-term DC-balance and edge density permits a data stream to be transmitted through a channel with a high-pass characteristic, and to be recovered with conventional clock and data recovery units.
IEEE 802.3ah is a recent standard, adding forward error correction (FEC) to 1.25 gigabit per second (Gbps) Ethernet. However, the frame structure and FEC added in this standard make for inefficient use of the available bandwidth and require a great deal of buffering. This translates to large, expensive devices, difficulty in avoiding packet drops due to finite buffer size, and large latency.
IEEE 802.3ah is inefficient for several reasons. First, the standard requires a great deal of buffering, when used with MACs that are unable to generate input frame gaps (IFG) that are proportional to the size of the packet. The standard is inherently latent due to the required buffering.
In the standard, the individual frames (and only the frames) are protected by FEC. In order to correct the frame, 16 bytes for every 255 bytes in the frame is required for parity, plus two more bytes must be added to delineate the frame plus extra overhead. The gap between frames must be large enough to accommodate the extra overhead. To do this efficiently, the MAC must “shape” the output such that the IFG after each frame is proportional to the size of the frame to accommodate the encoding.
Alternately, the absolute minimum IFG must be very large. For a standard maximum size frame (1500 bytes) the IFG must be 103 bytes or larger. Since the average frame size may be much smaller (say 150 bytes) the effective bandwidth of the link is reduced by around 40%. Alternately, pause control may be used, but due to the latency between detecting the need for pause, sending a pause to the MAC, MAC receiving the pause request, and finally reacting to the pause request, many bytes are transmitted before a response. Likewise, when dropping the pause request a similar delay occurs resulting in sending larger than necessary gap.
Regardless of the method used to ensure proper IFG, a fairly large buffer and resultant latency equal to at least one MAC frame is incurred. Since the 802.3ah FEC parity acts on the whole Ethernet frame, an entire Ethernet frame of information must be processed to generate the FEC parity that is added to the end of that frame. Thus, an entire frame must be buffered, since the FEC processing prevents cut-through scheduling.
It would be advantageous if a redundantly encoded message format, such as 8 B/10 B, could be wrapped into an error protected frame and transmitted at the same rate as the original 8 B/10 B sequence without excessive latency and buffering requirements.